try:
    from tpl_helpers import __rand_questions, __print_category
except ImportError:
    from .tpl_helpers import __rand_questions, __print_category

from random import randint as rint, choice

# **********************************
__print_category('Variables and Conditions', sub_path="FillGaps", _type="CLOZE")

    
############ Arithmetics #########

def Arithmetics_simple1(__HIDE='', _a=5, _b=2, _c=4):
    x = _a * _b - _c #  HIDE(__HIDE) 
    print (x) 

for s in '= x * _b -_c'.split():  Arithmetics_simple1(__HIDE=s, _a=rint( 5, 7), _b=rint(2, 3), _c=rint(1, 4)) 


def Arithmetics_simple2(__H='', _a=20, _b=2, _c=4):
    x = _a - _c
    y = _a + x * _b # HIDE(__H)
    print (x, y)
    
for s in '= x +x x*'.split():  Arithmetics_simple2(__H=s, _a=rint( 15, 20), _b=rint(2, 3), _c=rint(1, 4))

def Arithmetics_simple21(_a=20, _b=2, _c=4):
    x = _a - _c
    y = _a + x * _b # HIDE(=) HIDE(+) HIDE(*) 
    print (x, y)
    
Arithmetics_simple21()

def Arithmetics_simple3( __HIDE='', _a=5, _b=2, _c=4):
    a = _a  # HIDE(a=)
    b = _b  # HIDE(b=)
    x = a - _c * b 
    print (x)

Arithmetics_simple3()    

############ Variables #########    

def Var_Arithmetic_PlusMult(_a=2, _b=5, _c=3): # {=%(track['x'])s}
    x = _a
    x = x + _b  # HIDE(+_b)
    print(x)    # HIDE(print)
    x = _c * x  # HIDE(*)
    print(x)
    
Var_Arithmetic_PlusMult()

def Variables_simple1(_a=20, _b=6):
    pinigai = _a #     HIDE(pinigai)
    kebabas = _b
    pinigai = pinigai - kebabas  # kintamojo pakeitimas     HIDE(pinigai)
    print (pinigai)

Variables_simple1()

def Variables_simple2(_a=20, _b=6):
    """Kiek nupirks porcijų ir kiek liks pinigų?"""
    pinigai = _a # pradinė piginų suma    
    kebabas = _b # kebabo kaina     HIDE(kebabas)  HIDE(_a)
    porcijos = pinigai // kebabas  # suapvalinanti (žemyn) dalyba     HIDE(porcijos)
    pinigai = pinigai - porcijos*kebabas  # likutis        HIDE(pinigai)
    print (porcijos, pinigai)

Variables_simple2()

def Variables_and_IF1(_a=20, _b=3, _c=4):
    """Kiek nupirks porcijų ir kiek liks pinigų?"""
    pinigai = _a # pradinė piginų suma
    kebabas = _b # kebabo kaina
    draugai = _c
    porcijos = pinigai // kebabas  # suapvalinanti (žemyn) dalyba "//"
    print("Galima nupirkti", porcijos, "kebabus")
    
    if porcijos > draugai+1:  # HIDE(>)
        porcijos = draugai+1  # užteks man ir draugams po porciją  # HIDE(+1)
    islaidos = porcijos * kebabas  # HIDE(*)
    pinigai = pinigai - islaidos 
    
    print (porcijos, pinigai)

Variables_and_IF1()


# **********************************
__print_category('While',  sub_path="FillGaps/Loops", _type="CLOZE")

def While1(_a=0, _b=2, _c=10):
    x = _a
    while x < _c:  # HIDE(x<)
        print(x)
        x = x + _b  # HIDE(x=x)

While1()

def While2(_a=0, _b=2, _c=10):
    x = _c
    while x > _a:   # HIDE(while) 
        print(x)    # HIDE(print)
        x = x - _b  # HIDE( =) HIDE(-)
        
While2() 


# **********************************
__print_category('Lists',  sub_path="FillGaps/Loops", _type="CLOZE")


def List1_filtravimas():
    Pazymiai = [10, 5, 2]   # HIDE(5)
    kontrolinis = 5         # HIDE( kontrolinis )
    Pazymiai.append( kontrolinis ) # HIDE(append)
    for x in Pazymiai:
        if x > kontrolinis:        # HIDE( if ) HIDE(>)
            print("buvo geriau")
        elif x < kontrolinis:      # HIDE( < ) HIDE(:)
            print("buvo blogiau")
        else:                      # HIDE(else)
            print("nieko naujo")
    
List1_filtravimas()

def List2_vidurkis():
    Pazymiai = [10, 5, 2]  
    suma = 0
    for x in Pazymiai:    # HIDE(for) HIDE(in)
        suma = suma + x   # HIDE(suma+)
        print("pridėjus", x, "turim", suma)
    print("Pažymių kiekis:", len(Pazymiai))
    print ("Vidurkis yra", suma/len(Pazymiai) ) # HIDE(suma)
    
List2_vidurkis() 

def List3_du_sar_mumizmatika():
    Petro_monetos = [10, 5, 20]  
    Jono_monetos  = [2, 10, 1, 50, 5] 
    Bendros_monetos = []
    
    for m in  Jono_monetos:   # HIDE(for) HIDE(in)
        print(m)              # HIDE(m)
    
    for m in Petro_monetos:     # HIDE(for)
        if m in Jono_monetos:   # HIDE(Jono)
            print(m, "jau buvo")
        else:
            print(m)
        
    
List3_du_sar_mumizmatika() 


def List4_ar_yra_sarase():
    Pazymiai = [10, 5, 2]  #HIDEEXACT([) HIDEEXACT(]) 
    naujas = 5              # HIDE(=)
    if naujas in Pazymiai:  # HIDE(if)  
        print("ir vėl gavai", naujas)

List4_ar_yra_sarase()
